import 'package:json_annotation/json_annotation.dart';

import '../chat/hb_message_type.dart';
import '../chat/hb_rtm_message_type.dart';
import 'hb_rtm_msg_detail.dart';
part 'hb_rtm_msg.g.dart';

@JsonSerializable()
class HbRtmMsg {
  /// rtm 消息类型
  @JsonKey(name: 'rtmType')
  @HBRtmMessageTypeConverter() // 使用注解方式
  HBRtmMessageType? rtmType;

  /// socket 消息
  @JsonKey(name: 'type')
  @HBMessageTypeConverter() // 使用注解方式
  HBMessageType? type;

  HbRtmMsgDetail? msg;

  HbRtmMsg();
  factory HbRtmMsg.fromJson(Map<String, dynamic> json) =>
      _$HbRtmMsgFromJson(json);
  Map<String, dynamic> toJson() => _$HbRtmMsgToJson(this);
}
